// 支付倒计时
import { ref, computed, onUnmounted } from 'vue'
import { useIntervalFn } from '@vueuse/core'
import dayjs from 'dayjs'
function useTime() {
  const time = ref(0)
  const formatTime = computed(() => {
    return dayjs.unix(time.value).format('mm分ss秒') // 格式化时间
  })
  const { pause, resume } = useIntervalFn(() => {
    // pause 停止 resume 开始
    if (time.value === 0) {
      return stop()
    }
    time.value--
  }, 1000)

  // 开始
  function start(value) {
    time.value = value // 初始化传递进来值
    resume() // 开始使用useIntervalFn
  }
  // 停止
  function stop() {
    pause()
  }
  // 组件卸载时停止
  onUnmounted(() => {
    pause()
  })
  return {
    start,
    stop,
    formatTime
  }
}

export default useTime
